import java.util.Scanner;

/**
 *
 * 2019年1月1日起，国家推出新的个人所得税政策，起征点上调值5000元。
 * 也就是说税前工资扣除三险一金（三险一金数额假设是税前工资的10%）
 * 后如果不足5000元，则不交税。如果大于5000元，那么大于5000元的部分按梯度交税，具体梯度比例如下：
 *      0 ~ 3000元的部分，交税3%
 *      3000 ~ 12000元的部分，交税10%
 *      12000 ~ 25000的部分 ， 交税20%
 *      25000 ~ 35000的部分，交税25%
 *      35000 ~ 55000的部分，交税30%
 *      55000 ~ 80000的部分，交税35%
 * 超过80000的部分，交税45%
 * 比如：小蓝入职一家企业后，税前工资是18000，则他每月该交个税的部分是18000-1800-5000=11200元，个税缴纳数额是3000×3%+8200×10%=910元。税后工资15290元。
 * 请完成一个个税计算程序，在用户输入税前工资后，计算出他对应的纳税数额，以及税后工资为多少？
 *
 */
public class Tax {
    public static void main(String[] args) {
        System.out.println("请输入你的的税前工资: ");
        Double salary = new Scanner(System.in).nextDouble();
        TaxCalculation(salary);
        
    }

    public static void TaxCalculation(Double salary){
        // 定义个税变量
        Double tax = 0.0;

        // 计算应缴纳部分的工资
        Double beforeTaxSalary = salary - (salary * 0.1) - 5000;

        if (beforeTaxSalary > 0 && beforeTaxSalary <= 3000){
            tax = beforeTaxSalary * 0.03;
        }else if (beforeTaxSalary > 3000 && beforeTaxSalary <= 12000){
            tax = 3000 * 0.03 + (beforeTaxSalary - 1200) * 0.1;
        }else if (beforeTaxSalary > 12000 && beforeTaxSalary <= 25000){
            tax = 3000 * 0.03 + 9000 * 0.1  + (beforeTaxSalary - 12000) * 0.25;
        }else if (beforeTaxSalary > 25000 && beforeTaxSalary <= 35000){
            tax = 3000 * 0.03 + 9000 * 0.1 + 13000 * 0.2 +  10000 * 0.25 + (beforeTaxSalary - 25000) * 0.3;
        }else if (beforeTaxSalary > 35000 && beforeTaxSalary <=55000) {
            tax = 3000 * 0.03 + 9000 * 0.1 + 13000 * 0.2 +  10000 * 0.25 +20000 * 0.25 + (beforeTaxSalary -35000) * 0.3;
        }else if (beforeTaxSalary > 55000 && beforeTaxSalary <= 80000 ){
            tax = 3000 * 0.03 + 9000 * 0.1 + 13000 * 0.2 + 10000 * 0.25 + 20000 * 0.25 +
                    25000 * 0.3 + (beforeTaxSalary - 55000) * 0.35;
        }else if (beforeTaxSalary > 80000){
            tax = 3000 * 0.03 + 9000 * 0.1 + 13000 * 0.2 + +10000 * 0.25 + 20000 * 0.25 +
                    25000 * 0.3 +(beforeTaxSalary -80000) * 0.4;
        }else {
            System.out.println("输入的工资有问题，请检查！！！");
        }
        double afterSalary = salary - (salary * 0.1 ) - tax;

        // 打印个税和税后工资
        System.out.println("个人所得税" + tax + "元");
        System.out.println("税后工资" + afterSalary + "元");
    }


}
